package com.woniu.teachmall.service.service;

import com.woniu.teachmall.entity.Admin;
import com.woniu.teachmall.entity.User;
import com.woniu.teachmall.mapper.AdminMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.DigestUtils;
import java.util.List;

/**
 * 管理员核心服务实现类
 * 提供管理员身份验证及用户管理相关功能
 */
@Service("adminserviceimpl")
public class AdminServiceImpl implements AdminService {
    @Autowired
    private AdminMapper adminMapper;

    /**
     * 管理员登录验证
     * @param account 管理员账号
     * @param password 明文密码（自动进行MD5加密验证）
     * @return 验证成功返回管理员实体，失败返回null
     */
    @Override
    public Admin login(String account, String password) {
        // 根据账号获取管理员信息
        Admin admin = adminMapper.getUserByAccount(account);
        // 密码验证（MD5加密比对）
        if (admin != null && admin.getPassword().equals(DigestUtils.md5DigestAsHex(password.getBytes()))) {
            return admin;
        }
        return null;
    }

    /**
     * 获取系统所有注册用户列表
     * @return 用户实体集合（按注册时间倒序排列）
     */
    @Override
    public List<User> getAllUser() {
        return adminMapper.getAllUser();
    }
}